<#include "layout/application.ftl"/>

<@application>


<!-- Jumbotron -->
<div class="jumbotron">
    <h3>zookeeper集中式配置管理平台使用说明</h3>

    <p class="lead">1.将源码中的bee-core打成jar，在客户端中引入依赖：
        &lt;dependency&gt;
        &lt;groupId>com.noah.bee&lt;/groupId&gt;
        &lt;artifactId>bee-core&lt;/artifactId&gt;
        &lt;version>1.0-SNAPSHOT&lt;/version&gt;
        &lt;/dependency>&lt;/p&gt;
    <p class="lead">2.将应用系统中原来加载properties文件的类替换成jar中的：
        com.noah.bee.core.PropertyPlaceholderConfigurer</p>
    <p class="lead">3.在应用系统的classpath路径下添加一个sysenv.properties文件，文件类容：
        app.name=stock
        zk.server=10.21.40.55:2181
        （由于我们uat，uatb，prod环境使用不同的zookeeper，所以直接用zk来区分不同环境的配置即可）
    </p>
    <p class="lead">
        4.将应用中的配置转移到zk中
        在zookeeper跟路径（/）下建立/apps/stock（sysenv.properties文件中的app.name属性）/properties/属性名，节点数据即为属性值
        转移注意点：
        (a)如果当前属性对应的对象使用了pool（见特殊说明1），假设当前属性名为：base.redis.host，
        并且Reinitialize的实现类为com.noah.stock.service.RedisReinitializeService，
        那么我们在zookeeper中创建节点的时候，这个属性的节点名称应该为：base.redis.host.com_noah_stock_service_RedisReinitializeService.reinit
        (b)如果当前属性需要解密的，在节点名称前添加：decryption，比如decryption.base.redis.password
    </p>
</div>

</@application>